#pragma once 

#include <boost/asio.hpp>
using boost::asio::ip::tcp;

class Communicator;

class GameClient
{
public:
    GameClient();
    void connect();

    void send(std::vector<unsigned char>& data);
    void send(void* data, unsigned int size);
    void receiveKnown(void* buffer, unsigned int size);
    void receiveUnknown(std::vector<unsigned char>& buffer);

private:
    boost::asio::io_service io_service;
    tcp::socket socket;
    std::vector<unsigned char> buffer;
};